草庐IT

php - str_replace 数组

全部标签

Javascript:文本替换数组中的多个字符串?

我有一个包含Twitter话题标签的数组。我想为这些主题标签过滤字符串tw.text并将单词包装在span中varhashtags=newArray("home","car","tree");tw.text.replace('#home','#home')我该怎么做?提前谢谢你。 最佳答案 hashtags.forEach(function(elem){tw.text=tw.text.replace('#'+elem,'#'+elem+"");});这不考虑包含可能导致重复替换的其他标签的标签。

javascript - 关联数组是否像哈希表一样执行?

想象一下,您在JavaScript中有一个关联数组:varhashTable={};hashTable["red"]="ff0000";hashTable["green"]="00ff00";hashTable["blue"]="0000ff";当您检索这样的值时会发生什么:varblue=hashTable["blue"];性能是否与其他语言的哈希表相似?我的意思是,是否存在用于确定属性位置的实际哈希函数,或者是否存在循环搜索,例如:for(varcolorinhashTable){if(hashTable.hasOwnProperty(color)){//lookformatchi

javascript - 为什么即使在 javascript 中将数组的长度属性设置为只读,其值也会发生变化?

我在chrome的控制台中尝试了以下代码vara=newArray(1,2,3,4);a.length这显示长度如预期的那样为4。现在我尝试将长度属性设置为可写:falseObject.defineProperty(a,"length",{writable:false});a[4]=5;a.length即使属性设置为writable:false,结果也是5。那是怎么发生的?它不应该保持不变,因为它设置为只读(可写:false)吗? 最佳答案 Object.defineProperty(a,"length",{writable:fal

javascript - 通过数组进行碰撞检测

大家好我开始用球和砖block写一个小游戏,但在碰撞检测方面遇到了一些问题。这是我的代码http://jsbin.com/ibufux/9.我知道检测可以通过数组进行,但我不知道如何将它应用到我的代码中。这是我尝试过的:bricksCollision:function(){for(vari=0;i游戏中的每block砖block都是通过for循环生成的,然后进入$bricks数组。生成后的每block砖都接收顶部和左侧位置并具有绝对位置。我试图检查$ball.t(它是检测球顶部位置的球对象的属性)是否到达砖block而不是移除砖block。感谢您的帮助。我才开始学习JS,这就是为什么我

javascript - 从javascript中的数组数组中选择随机数组

我有一个数组数组。varArrOfarr={A1:["choice","choice2","choice3"],A2:["choice1","choice2"],A3:["choice1","choice2"],A4:[],A5:[],A6:[],A7:[]}每次单击按钮时,我都想从“ArrOfarr”中选择随机数组。我尝试了以下,但看到“未定义”:functionA(){varitem=ArrOfarr[Math.floor(Math.random()*ArrOfarr.length)];alert(item);}我怎样才能从上面的数组中获取随机数组(不重复直到它达到它的长度)。我怎

javascript - 数组到包含逗号的字符串 - JavaScript

好吧,我正在编写一个包含整个句子的脚本,但整个句子可以包含逗号。由于脚本的工作方式,必须至少将数组转换为字符串一次。因此,当发生这种情况时,一旦我将字符串拆分回原始值,逗号就会开始相互冲突。我不太清楚如何解决这个问题,我一直在寻找,但到目前为止没有成功。我正在使用chrome插件,这是一个小例子:varData=["Thisisanormalstring","Thisstring,willcauseaconflict.","Thisstringshouldbenormal"];//Thedatagetssenttoabackgroundscript,instringformandcom

javascript - 为什么具有非常高索引号的 javascript 数组会导致崩溃/减速/麻烦?

基本上破坏我的nodejsexpress服务器的代码是这样的:resultArr=[];resultArr["test"]=[];resultArr["test"][2015073012]=someObject;当我把它改成这个时,它运行没有问题resultArr=[];resultArr["test"]={};resultArr["test"][2015073012]=someObject;我确实是这样循环工作的。为什么它会破坏我的应用程序? 最佳答案 如您所见,您不应该为此使用数组,而应该使用对象。但是您应该更进一步,在顶层也使

javascript - 在数组上使用 delete 和随后的 .push() 会影响性能/内存消耗吗?

问题在数组元素上使用delete将其从数组中删除是我知道的从数组中删除元素的唯一方法,例如.forEach()调用跳过索引。问题是否在索引上使用delete,例如exampleArray[i],导致后续的exampleArray.push()增加内存数组对象的消耗?删除对象如何影响垃圾收集器?是否有更有效的方法来去除exampleArray元素?前者的例子varexampleArray=[];varn=500;//Doesthislineimplyamemoryallocation?exampleArray.length=n;exampleArray.fill("LoremIpsum"

javascript - 如何以功能方式实现数组连接?

我有一个用条件分隔符连接对象数组的函数。functiongetSegmentsLabel(segments){varseparator='-';varsegmentsLabel='';varnextSeparator='';_.forEach(segments,function(segment){segmentsLabel+=nextSeparator+segment.label;nextSeparator=segment.separatorUsed?separator:'';});returnsegmentsLabel;}用法:varsegments=[{label:'First',

javascript - 将数组复制到 Javascript 中较大数组的中间

我在这里搜索了答案,但我只能找到其他语言的答案。所以我有2个Uint8类型的数组。vararr1=[0,0,0];vararr2=[0,1,2,3,4,5,6,7,8,9];我想从第4个位置开始用arr1替换arr2的内容。这样arr2将是:arr2=[0,1,2,0,0,0,6,7,8,9];如果我不尝试在数组中间执行此操作,我可以使用setlikethis:arr2.set(arr1);我会得到:arr2=[0,0,0,4,5,6,7,8,9];我知道我可以遍历arr2并单独复制值,但在性能方面这与set相比非常慢(而且性能对我来说很重要,因为它每秒复制整个Canvasimg数据数